﻿using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Text;

namespace AppSocketModel
{
    /// <summary>
    /// 报警通知记录模型
    /// </summary>
    [BsonIgnoreExtraElements]
    public class AlarmNotifyHistoryDto
    {
        /// <summary>
        /// Id
        /// </summary>
        [BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }

        /// <summary>
        /// 报警识别码
        /// </summary>
        public string SN { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateDateTime { set; get; }

        /// <summary>
        /// 公司Id
        /// </summary>
        public int  CompanyId { set; get; }
  
        /// <summary>
        /// 账户Id
        /// </summary>
        public string AccountId { set; get; }
        
        /// <summary>
        /// 报警设备IMEI
        /// </summary>
        public string IMEI { set; get; }

        /// <summary>
        /// 报警车牌号/或设备名称
        /// </summary>
        public string VehicleNo { set; get; }

        /// <summary>
        /// 报警类型
        /// </summary>
        public AlarmType AlarmType { set; get; }

        /// <summary>
        /// 报警类型
        /// </summary>
        public string AlarmTypeStr { set; get; }
        /// <summary>
        /// 报警通知类型
        /// </summary>
        public AlarmNotifyType AlarmNotifyType { set; get; }
        /// <summary>
        /// 报警通知类型
        /// </summary>
        public string NotifyTypeStr { set; get; }

        /// <summary>
        /// 报警通知电话
        /// </summary>
        public string Phone { set; get; }

        /// <summary>
        /// 通知内容
        /// </summary>
        public string NotifyMessage { set; get; }

        /// <summary>
        /// 是否已通知
        /// </summary>
        public bool IsNotify { set; get; }

        /// <summary>
        /// 报警确认
        /// </summary>
        public bool IsConfirm { set; get; }

        /// <summary>
        /// 是否已删除
        /// </summary>
        public bool IsDelete { set; get; }


        /// <summary>
        /// 经度
        /// </summary>
        public double Lng { get; set; }

        /// <summary>
        /// 经度半球 E或W（东经或西经）
        /// </summary>
        public string LngHemi { get; set; }
        /// <summary>
        /// 纬度
        /// </summary>
        /// 
        public double Lat { get; set; }

        /// <summary>
        /// 纬度半球，N或S（北纬或南纬）
        /// </summary>
        public string LatHemi { get; set; }

        /// <summary>
        /// 定位方式
        /// </summary>
        public string Location { get; set; }


        /// <summary>
        /// 报警确认时间
        /// </summary>
        public DateTime ConfirmDatetime { set; get; }

        /// <summary>
        /// 报警确认人
        /// </summary>
        public string ConfirmAccountCode { set; get; }
    }
}
